《Heterogeneous Information Network Embedding for Recommendation》
近年来,帮助用户从大量资源中发现感兴趣item
的推荐系统,已经在各种在线服务中发挥着越来越重要的作用。传统的推荐方法(如矩阵分解)主要旨在学习一个有效的预测函数来刻画 user-item
交互记录(即,user-item
评分矩阵)。随着 web
服务的快速发展,各种辅助数据(即,辅助信息side information
)在推荐系统中变得可用。尽管辅助数据可能包含对推荐有用的信息,但在推荐系统中很难建模和利用这些异质的、复杂的信息。此外,开发一种相对通用的方法来对不同系统或平台中的这些不同的数据进行建模更具挑战性。
作为一个有前途的方向,人们提出了异质信息网络(heterogeneous information network: HIN
) 来作为一种强大的信息建模方法。异质信息网络由多种类型的节点和链接组成,并在建模数据异质性方面具有灵活性,因此已在推荐系统中用于刻画丰富的辅助数据。如下图所示,我们展示了一个以 HIN
刻画的电影推荐的例子。我们可以看到:HIN
包含由不同类型的关系链接的多种类型的实体。在HIN-based
的 representation
下,推荐问题可被认为是 HIN
上的相似性搜索( similarity search
)任务。这种推荐 setting
称为 HIN-based
的推荐,并在文献中受到了广泛关注。大多数现有的 HIN-based
推荐方法的基本思想是:利用 path-based
的、user-item
之间的语义相关性( semantic relatedness
) (如metapath-based
相似性)而不是 HIN
,从而进行推荐。 path-based
相似性无法充分挖掘用户和 item
的潜在结构特征。
尽管 HIN-based
方法在一定程度上实现了性能提升,但这些使用 metapath-based
相似性的方法存在两个主要问题。
首先,metapath-based
相似性依赖于显式的路径可达(path reachability
),当路径稀疏或存在噪音时,推荐可能不可靠。HIN
中的某些链接很可能是偶然形成的,它们没有表达有意义的语义。
其次,metapath-based
相似性主要刻画在 HIN
上定义的语义关系,可能无法直接应用于推荐系统。在某些情况下,派生的 path-based
相似性可能对推荐系统没有显式的影响。现有方法主要学习线性加权机制来结合 path-based
相似性或潜在因子,无法学习 HIN
信息的、复杂的映射机制(mapping mechanism
) 进行推荐。
metapath-based
相似性,不一定意味着推荐有效性,即二者之间存在gap
。
这两个问题本质上反映了 HIN-based
推荐的两个基本问题,即 HIN-based
有效信息的提取 (extraction
) 和利用(exploitation
) 。
对于第一个问题,由于数据的异质性,开发一种方法来有效提取和表达 HIN
的有用信息具有挑战性。与以前使用 metapath-based
相似性的研究不同,论文《Heterogeneous Information Network Embedding for Recommendation》
的思想是:学习有效的异质网络 representation
,从而表达 HIN
重要的结构特征和属性。遵循 DeepWalk
和 node2vec
,论文用低维向量(即 embedding
)来刻画 HIN
中的节点。论文不想依赖显式的路径链接,而是希望使用潜在向量来编码 HIN
中的有用信息。与 metapath-based
相似性相比,学到的 embedding
具有更紧凑的形式,更易于使用和集成。此外,network embedding
方法本身更能抵抗稀疏的、噪音的数据。然而,现有的大多数 network embedding
方法侧重于仅由单个类型的节点和链接组成的同质网络(homogeneous network
),无法直接处理由多种类型的节点和链接组成的异质网络(heterogeneous network
) 。因此,论文提出了一种新的异质网络 embedding
方法。考虑到 metapath
所反映的异质特性以及丰富的语义,所提出的方法首先使用由 metapath
派生的随机游走策略来生成节点序列。对于每个 metapath
,论文通过最大化根据给定 metapath
采样的节点序列中相邻节点的共现概率(co-occurrence probability
) 来学习节点的 unique embedding representation
。论文融合了节点关于不同 metapath
的多个 embedding
,从而作为 HIN embedding
的输出。
在从 HIN
获得 embedding
之后,论文研究如何从推荐系统中集成和利用这些信息。论文并未假设学到的 embedding
自然地适用于推荐系统。相反,论文提出并探索了三种融合函数(fusion function
) ,从而将一个节点的多个 embedding
集成到单个 representation
中来进行推荐。这三种融合函数包括:简单的线性融合、个性化的线性融合、个性化的非线性融合。这些融合函数提供了灵活的方法将 HIN embedding
变换为有用的推荐信息。特别地,论文强调个性化和非线性是该论文 setting
中信息变换(information transformation
) 需要考虑的两个关键点。最后,论文通过集成了 fused HIN embedding
来扩展经典的矩阵分解框架。预测模型( prediction model
)和融合函数(fusion function
)针对评分预测(rating prediction
)任务而联合地优化。
通过将上述两部分集成在一起,论文提出了一种新颖的、HIN embedding based
的推荐方法,称作 HERec
。HERec
首先使用所提出的 HIN embedding
方法提取有用的、HIN-based
的信息,然后使用所提取的信息利用扩展的矩阵分解模型进行推荐。下图展示了所提出方法的总体说明。对三个真实世界数据集的广泛实验证明了所提出方法的有效性。论文还验证了 HERec
缓解冷启动问题的能力,并检查了 metapath
对性能的影响。
总而言之,论文的主要贡献如下:
论文提出了一种由 metapath
派生的异质网络 embedding
方法,从而揭示异质信息网络的语义信息和结构信息。此外,论文提出了一种通用的 embedding
融合方法,用于将基于不同 metapath
的不同 embedding
集成为单个 representation
。
论文提出了一种新颖的异质信息网络 embedding
推荐模型,称作 HERec
。HERec
可以有效地集成 HIN
中的各种 embedding
信息,从而提高推荐性能。此外,论文设计了一组三个灵活的融合函数( fusioin function
),从而有效地将 HIN embedding
变换为有用的推荐信息。
对三个真实世界的数据集的广泛实验验证了所提出模型的有效性。此外,论文还展示了所提出的模型对冷启动预测问题的能力,并揭示了来自 HIN
的、变换后的 embedding
信息可以提高推荐性能。
相关工作:在这里,我们将从推荐系统、异质信息网络、network embedding
三个方面回顾相关的工作。
推荐系统:在推荐系统的文献中,早期的工作主要采用协同过滤 (collaborative filtering: CF
)方法来利用历史交互进行推荐。具体而言,矩阵分解 (matrix factorization: MF
) 方法在许多 application
中展示了它的效果和效率。MF
将 user-item
评分矩阵分解为两个低秩的 user-specific
矩阵和 item-specific
矩阵,然后利用分解后的矩阵做进一步的预测。
由于 CF
方法通常存在冷启动问题,许多工作尝试利用额外的信息来提高推荐性能。例如:
《Recommender systems with social regularization》
将社交关系集成到矩阵分解中用于推荐。
《Ratings meet reviews, a combined approach to recommend》
同时考虑了评分信息和评论信息,并提出了一个统一的模型来结合 content-based
过滤和协同过滤,从而用于评分预测任务。
《Exploiting geographical influence for collaborative point-of-interest recommendation》
将用户偏好、社交影响力、地理影响力纳入推荐,并提出了统一的 POI
推荐框架。
最近,《Low-rank linear cold-start recommendation from social data》
解释了三种流行的冷启动模型的缺点,并进一步提出了一种 learning-based
方法来解决冷启动问题,从而通过随机 SVD
来利用社交数据。
许多工作开始利用深度模型(例如卷积神经网络、自编码器)来利用文本信息、图像信息、以及网络结构信息来获得更好的推荐。此外,还有一些典型的框架聚焦于结合辅助信息进行推荐。
《Svdfeature: a toolkit for feature-based collaborative filtering》
提出了一个典型的 SVDFeature
框架来有效地解决 feature-based
矩阵分解。
《Factorization machines》
提出了因子分解机( factorization machine: FM
),这是一种结合特征工程通用性 (generality
) 的通用方法。
异质信息网络:作为一个新兴方向,异质信息网络可以自然地对推荐系统中的复杂对象及其丰富的关系进行建模,其中对象具有不同的类型、对象之间的链接代表不同的关系。人们已经提出了几种 path-based
相似性度量来评估异质信息网络中对象的相似性。因此,一些研究人员开始意识到 HIN-based
推荐的重要性。《Incorporating heterogeneous information for personalized tag recommendation in social tagging systems》
提出了 OptRank
方法,该方法通过利用社交标签系统(social tagging system
) 中包含的异质信息来缓解冷启动问题。
此外,人们将 metapath
的概念引入混合推荐系统( hybrid recommender system
)。
《Collaborative filtering with entity similarity regularization in heterogeneous information networks》
利用 metapath-based
相似性作为矩阵分解框架中的正则化项。
《Personalized entity recommendation: A heterogeneous information network approach》
利用异质信息网络中不同类型的实体关系,提出了一种用于隐式反馈数据集的个性化推荐框架。
《Hete-cf: Social-based collaborative filtering recommendation using heterogeneous relations》
提出了一种使用异质关系的、基于协同过滤的社交推荐方法。
最近,《Semantic path based personalized recommendation on weighted heterogeneous information networks》
提出了加权异质信息网络的概念,设计了一种 metapath-based
的协同过滤模型,灵活地集成异质信息从而进行个性化推荐。
在 《Integrating heterogeneous information via flexible regularization framework for recommendation》
、《Recommendation in heterogeneous information network via dual similarity regularization》
、《Dual similarity regularization for recommendation》
中,用户相似性和 item
相似性都通过不同语义 metapath
下的、path-based
相似性度量来评估,并提出了一种基于对偶正则化框架(dual regularization framework
) 的矩阵分解来进行评分预测。
大多数 HIN-based
方法依赖于 path-based
相似性,这可能无法充分挖掘 HIN
上的用户潜在特征和 item
潜在特征从而进行推荐。
network embedding
:另一方面,network embedding
在结构特征提取方面显示出它的潜力,并已成功应用于许多数据挖掘任务,如分类、聚类、推荐。
Deepwalk
结合了截断的随机游走和 SkipGram
来学习 network representation
。
Node2Vec
是一种基于有偏( biased
)的随机游走过程的、更灵活的 network embedding
框架。
此外,LINE
和 SDNE
刻画了二阶邻近性以及邻域关系。
GraRep
模型可以捕获高阶邻近性用于学习 network representation
。
除了仅从网络拓扑结构中学习 network embedding
之外,还有许多其他工作利用节点内容信息、以及其它可用的图信息(graph information
) 来学习鲁棒的 representation
。不幸的是,大多数 network embedding
方法都聚焦于同质网络,因此它们无法直接应用于异质网络。
最近,一些工作试图通过 embedding
方法分析异质网络。具体而言:
《Heterogeneous network embedding via deep architectures》
设计了一个深度 embedding
模型来捕获网络中异质数据之间的复杂交互。
《Embedding of embedding (eoe): Joint embedding for coupled heterogeneous networks》
提出了一种 EOE
方法来编码耦合异质网络的 intra-network edges
和 inter-network edges
。
《metapath2vec: Scalable representation learning for heterogeneous networks》
通过 metapath
定义节点的邻域,并通过带负采样的 SkipGram
来学习异质 embedding
。
尽管这些方法可以学习各种异质网络中的 network embedding
,但它们的 node representation
和 edge representation
对于推荐而言可能不是最优的。
因为这些
representation
是基于无监督学到的,没有推荐任务的监督信息。
据我们所知,这是首次尝试采用 network embedding
方法从异质信息网络中提取有用信息,并利用这些信息进行评分预测。该方法利用 HIN
的灵活性对复杂的异质上下文信息进行建模,同时借用 network embedding
的能力来学习有效的信息 representation
。最终的评分预测组件进一步集成了变换机制( transformation mechanism
),从而利用来自 network embedding
所学到的信息。
异质信息网络 (heterogeneous information network: HIN
) 定义:一个异质信息网络记作
每个节点关联一个节点类型
异质信息网络的复杂性驱使我们提供 meta level
的描述(如 schema-level
),以便更好地了解网络中节点类型和链接类型。因此,我们提出了网络模式( network schema
)的概念,从而描述网络的 meta
结构。
网络模式(network schema
) 的定义: 定义网络模式为 meta
模板。
如电影推荐的案例中:我们有多种类型的节点,包括用户 U
、电影 M
、导演 D
,因此 U-U
)、用户对电影评分关系 U-M
、导演和电影的拍摄关系(D-M
),因此
网络模式
可以类比于图 ,其中 对应于 、 对应于 。
如下图所示,这是我们实验的三个数据集对应的网络模式。由于我们的任务重点关注用户和 item
,因此用户和 item
类型用大的圆圈表示,其它类型用小圆圈表示。
在 HIN
中,两个节点可以通过不同的语义路径(semantic path
) 来链接,称作元路径( metapath
)。metapath
是定义在网络模式
元路径(metapath
)定义:定义 metapath
简称
其中:meta-path
以电影推荐为例,两个节点之间可以通过多种metapath
相连,如:U-U
、 U-M-U
、U-M-D-M-U
。不同的 metapath
通常表示不同的语义。如:
U-U
:表示用户之间的好友关系。
U-M-U
:表示两个用户看过同一部电影。
U-M-D-M-D
:表示两个用户看过同一个导演的不同电影。
下表给出了实验中使用的 metapath
信息。
最近,HIN
已经成为建模各种复杂交互系统的主流方法。特别地,它已被用于描述复杂的、异质的推荐 setting
的推荐系统中。
HIN based
推荐的定义:在推荐系统中,各种类型的信息可以通过 HIN
HIN
中,我们仅关注两类节点(User
节点、Item
节点),以及它们之间的关系(即评分)。定义用户节点集合为 item
节点集合为 item
HIN
推荐的目标是:给定 HIN
item
目前在 HIN based
推荐上已有一些工作,但是它们大多数主要利用 metapath-based
相似性来增强推荐能力。我们提出一种新的 HIN-based
推荐方法 HERec
,该方法能够有效地利用 HIN
的信息。HERec
主要分为两个部分:
一种新的 HIN embedding
方法,从而从 HIN
中学习 user embedding
和 item embedding
。
一组灵活的融合函数(fusion function
),从而将学到的 embedding
集成到经典的矩阵分解框架中。
整体框架如下图所示:首先构建 HIN
(图 (a)
),然后是 HIN embedding
(图 (b)
) 和 Recomendation
(图 (c)
)。
受 network embedding
最新进展的启发,我们采用 representation learning
方法来提取和表达 HIN
的有用信息从而进行推荐。给定HIN
representation
emebdding
向量高度概括了节点 metapath-based
相似性相比,学到的 embedding
更容易在后续过程中使用和集成。
然而,现有的大多数network embedding
方法主要集中在同质图上,因此无法有效针对异质图进行建模。例如,开创性的工作 deepwalk
使用随机游走来生成节点序列,它无法区分不同类型的节点和边。因此,需要一种更通用的方式来遍历 HIN
并生成有意义的节点序列。
metapath-based
随机游走:要生成有意义的节点序列,关键是设计一种有效的游走策略,该策略能够捕获 HIN
中反映的复杂语义。在 HIN
的文献中,metapath
是刻画 HIN
语义模式 (semantic pattern
)的重要概念。因此,我们建议使用metapath-based
的随机游走方法来生成节点序列,然后利用 SkipGram
模型从节点序列中学到节点的 embedding
。
给定异质网络 meta path
其中:
随机游走序列将遵循 metapath
以电影推荐为例:
给定一个metapath
UVM
,从 Tom
开始我们可以生成两条随机游走序列:
Tom(User) --> The Terminator(Movie) --> Mary(User)
Tom(User) --> Avater(Movie) --> bob(User) --> The Terminator(Movie) --> Mary(User)
给定一个 metapath
UMDMU
,从 Tom
开始我们能够生成另外一条随机游走序列:
xxxxxxxxxx
Tom(User) --> The Terminator(Movie) --> Cameron(Director) --> Avater(Movie) --> Mary(User)
可以直观看到这些 metapath
生成的随机游走序列对应了不同的语义关系(semantic relation
)。
类型约束和过滤:我们的目标是提升推荐性能,因此重点是学习user embedding
和 item embedding
,其它类型节点(如 Director
)的 embedding
我们不太感兴趣。因此,我们仅选择从 user
类型节点或 item
类型节点开始的 metapath
。
注意,这里进行的 ”开始节点“ 的过滤,仅保留 ”开始节点“ 类型为
user
或item
的序列。
使用上述方法生成了随机游走序列之后,序列中可能包含不同类型的节点。我们进一步删除了序列中和起始节点类型不同的其它节点,最终得到的随机游走序列仅包含和起始类型相同的节点。
这时,随机游走序列要么都是
user
节点、要么都是item
节点。
这种对随机游走序列的节点进行类型过滤有两个好处:
尽管随机游走序列是通过具有异质类型的 metapath
构建的,但是最终的 representation
是在同质的邻域中学习的。同质邻域学习使得我们将相同类型的节点嵌入到相同的空间中。相对而言,将不同类型的节点嵌入到相同的空间的难度更大。
当窗口的长度固定时,类型过滤后的序列中,一个节点可以利用到更多的同质邻居。这些同质邻居可能比其它类型的异质邻居相关性更大。
如下图所示,为学习user embedding
和 item embedding
,我们仅考虑起始类型为用户类型或者 item
类型的 metapath
。我们可以衍生出一些 metapath
,如 UMU, UMDMU,MUM
等。以 metapath
UMU
为例,我们可以根据概率
一旦序列被生成,我们进一步删除与起始节点类型不同的其它节点,这样的到了一个同质的节点序列:
在这条同质节点序列中,节点之间的关系实际上是通过异质邻居节点(被删除的)构建的。
优化目标:现在我们聚焦于如何学习同质节点序列的 node embedding
。给定过滤后的随机游走同质节点序列,对于每个节点 node2vec
一致,我们最大化以下目标函数:
其中:
metapath
下随机游走序列的同质邻域。
我们采用随机梯度下降 SGD
来优化目标函数,从而学到 embedding
映射函数 metapath-based
的随机游走,并进行节点过滤来选择同质的邻居。
这里是无监督的、同质的一阶邻近性保持。
单个 metapath
的节点 embedding
算法:
输入:
HIN
metapath
目标节点类型
embedding
维度
随机游走序列长度
上下文窗口大小
每个节点开始的随机游走序列数量
输出:每个节点 metapath
下的 embedding
算法步骤:
通过标准正态分布来随机初始化
初始化随机游走路径集合为空:
对于每个类型为
初始化空路径:
从节点 path
中。当 path
中节点数量为
将path
添加到 paths
中。
在paths
上,基于参数 SkipGram
的 embedding
学习算法。
返回学到的节点 embedding
embedding
融合 (Embedding Fusion
):HIN embedding
提供了从 HIN
抽取有效信息的通用方法。假设 metapath
的集合为 metapath
都能学到 HIN
的 embedding
,其中 metapath
的数量。换句话将,对于每个节点 embedding
metapath
下学到的 embedding
转化为更合适的形式,从而有助于提高推荐性能。
已有的研究通常采用线性加权的方式来融合 HIN
中提取的信息,这可能无法获得对推荐任务有效的信息表示。因此我们建议采用更通用的函数 item
融合各 metapath
下学到的 node embedding
:
其中 item
embedding
。
当前阶段我们并未指定
前面我们研究了如何从 HIN
中提取和表达有效信息来进行推荐。通过 HIN embedding
,我们能够获得用户embedding
item embedding
embedding
进行推荐。
评分预测器 Rating Predictor
:我们基于经典的矩阵分解MF
模型来构建 predictor
。在 MF
模型中,每个用户 item
item
由于我们已经获得了用户 item
embedding
,因此可以考虑将潜在因子向量和 embedding
向量集成在一起。集成后的 predictor
为:
其中:
item
HIN embedding
向量。
item
item
HIN embedding
配对的潜在因子向量。
对于该公式,我们需要注意两点:
首先, embedding
适用于 MF
。
其次,我们并没有直接使用 HIN embedding
刻画的是相同类型节点之间的相关性。因此,我们使用一组新的潜在因子
这里很巧妙,它刻画了这样的事实:节点的相关性不同于推荐有效性。
这等价于:拼接
和 ,并通过一个线性模型来得到它对于 predictor
的贡献。
融合函数 (Fusion Function
):前面我们假设融合函数 HIN
学到的节点embedding
转化为对推荐系统有用的形式。这里我们仅讨论融合用户 embedding
的情况,item embedding
融合也是类似的。
我们建议使用三种类型的融合函数来融合 embedding
:
简单的线性融合。我们假设每个用户对每个 metapath
都相同的偏好,因此我们为每个 metapath
分配统一的权重(即均值)。此外,我们还将 embedding
线性映射到目标空间:
其中 metapath
集合,metapath
的线性映射参数。
个性化线性融合。简单的线性融合无法建模用户对 metapath
的个性化偏好,因此我们进一步为每个用户 metapath
上的偏好
其中 metapath
上的偏好权重。
个性化非线性融合。线性融合在建模复杂数据关系时的表达能力有限,因此我们使用非线性函数来增强表达能力:
其中 sigmoid
函数。
尽管这里使用了两个非线性变换,也可以灵活地推广到多个非线性层,如多层感知机。
模型学习:我们将融合函数整合到矩阵分解框架中,联合学习融合函数和矩阵分解模型的参数。我们的目标函数为:
其中:
item
融合的参数。
我们采用随机梯度下降 SGD
来优化目标函数。
这里一个难点是:梯度如何在矩阵分解模型、
HIN embedding
模型之间传播。论文给出的方案是两阶段模型:
首先通过
HIN embedding
预训练,得到和 。这时, HIN embedding
作为矩阵分解模型的输入特征。然后通过随机梯度下降算法优化矩阵分解模型(包括融合函数)。
更好的做法是共同训练
HIN embedding
模型和矩阵分解模型,使得监督信息能够输入给HIN embedding
模型。此时,HIN embedding
模型捕获矩阵分解模型的残差,从而构成boosting
范式。
HERec
训练算法:
输入:
HIN
用户的 metapath
集合 item
的 metapath
集合
embedding
维度
潜在因子向量的维度
随机游走序列长度
上下文窗口大小
每个节点开始的随机游走序列数量
user-item
评分集合
学习率
超参数
正则化系数
输出:
用户的潜在因子 item
的潜在因子
和 HIN embedding
配对的潜在因子
融合函数的参数
算法步骤:
根据 HIN embedding
算法获取每个用户 metapath
embedding
,得到用户 embedding
根据 HIN embedding
算法获取每个 item metapath
embedding
,得到 item embedding
基于标准的正态分布来初始化参数
迭代直到收敛,迭代步骤为:
随机从
基于经典的矩阵分解模型来更新参数
对
计算梯度
对
计算梯度
返回
算法复杂度:HERec
包含两个阶段:
HIN embedding
阶段:这一阶段主要通过 metapath based embedding
算法得到每个节点在不同 metapath
下的 embedding
。由于 DeepWalk
的算法复杂度为 embedding
维度。因此每个metapath
下,学习 user embedding
的算法复杂度为 item embedding
的算法复杂度为 HIN embedding
阶段的算法复杂度为
值得注意的是:可以很容易地并行训练 HIN embedding
。我们将使用多线程模式来实现 HIN embedding
,从而提高训练效率。
矩阵分解MF
阶段:这一阶段通过联合学习融合函数和矩阵分解模型,从而得到最终的node representation
。
对于每个三元组 HERec
对于的大型数据集的训练非常高效。
另外,SGD
随机梯度下降在实践中表现很好,在我们的数据集中具有很快的收敛速度。
数据集:
豆瓣电影数据集( Douban Movie
):包含 13367
名用户在 12677
部电影上的 1068278
个评分。电影评分从 1
到 5
分。此外,数据集还包含用户和电影的社交信息和属性信息。
豆瓣读书数据集( Douban Book
):包含 13024
名用户在 22347
本图书上的 792026
个评分。书籍评分从 1
到 5
分。数据集也包含用户和书籍的社交信息和属性信息。
Yelp
数据集:包含 16239
名用户在 14282
个本地商家上的 198397
个评分。评分从 1
到 5
分。数据集包含用户和商家的社交关系和属性信息。
这三个数据集的详细说明如下。可以看到这三个书籍除了属于不同的领域之外,它们的数据稀疏性也不同:Yelp
数据集非常稀疏,Douban Movie
数据集相对稠密。
我们也给出这三个数据集用到的 meta-path
集合:
评估指标:我们采用 mean absolute error: MAE
和 root mean square error: RMSE
来评估推荐结果的质量。
baseline
方法:
PMF
:经典的概率矩阵分解模型,它将评分矩阵显式分解为两个低维矩阵。
SoMF
:引入社交网络信息的矩阵分解模型。社交关系通过正则化引入并集成到基本的矩阵分解模型中。
FM-HIN
:上下文感知的分解机模型,它能够利用各种辅助信息。在我们的实验中,我们抽取异质信息作为上下文特征,并将其集成到 FM
中。
HeteMF
:一种矩阵分解模型,它利用了 HIN
上 metapath-based
相似性。
SemRec
: 一种加权HIN
上的协同过滤方法。它以相同的评分来连接用户和 item
。它通过加权的 metapath
以及加权的 ensemble
方法灵活地集成异质信息。
DSR
:一种具有双重相似度正则化的矩阵分解方法。该方法同时对用户和相似度较高的 item
、用户和相似度较低的 item
同时施加了约束。
HERec-dw
:HERec
的一个变体,它采用了同质网络的 DeepWalk
而忽略了 HIN
中节点的异质性。
HERec-mp
:HERec
的一个变体,它结合了 metapath2vec ++
的 HIN embedding
。这里它并没有执行随机游走序列的节点过滤,而是对包含异质节点的随机游走序列执行 embedding
。
HERec
:我们提出的 HIN
推荐模型。在有效性实验中,我们采用个性化的非线性融合函数。
我们的 baseline
全面覆盖了现有的评分预测方法:PMF, SoMF
为经典的 MF
预估方法; FM-HIN, HeteMF, SemRec, DSR
为基于 HIN
的推荐,它们使用metapath-based
相似性,代表了SOTA
的、基于的 HIN
方法。
我们提出的方法包含一个 HIN embedding
组件,它可以使用任何其它网络 embedding
方法取代。因此这里比较了两个变体:HERec-dw
和 HERec-mp
。
配置:
所有 MF
模型的潜在因子维度为 baseline
配置要么使用原始论文的最佳配置,要么使用 10%
的验证集来择优。
所有基于 HIN
的方法都需要指定metapath
。我们在下表中给出使用的 metapath
。我们选择比较短的 metapath
(最多 4
个 step
),因为长的 metapath
可能会引入语义噪音。
基于 HERec
的方法的配置为:embedding
维度
有效性实验:对每个数据集,我们将原始的评分数据拆分为训练集和测试集。
对于豆瓣电影和豆瓣读书数据集,我们选择训练集的拆分比例分别为 {80%, 60%, 40%, 20%}
。
对于Yelp
数据集,考虑到数据集非常稀疏,因此我们选择训练集的拆分比例为 {90%, 80%, 70%, 60%}
。
在每种拆分比例下,我们训练每个模型并报告各模型在测试集上评估结果。对每种拆分比例我们随机拆分 10
次并评估 10
次,最终给出每个模型的评估均值。实验结果如下表所示。我们以 PMF
的结果作为基准,给出了其它方法相对于 PMF
的提升。
结论:
所有 baseline
方法中,基于 HIN
的方法(HeteMF,SemRec, FM-HIN, DSR
)的性能优于传统 MF
方法(PMF,SoMF
)。这证明了异质信息的有效性。
值得注意的是:FM-HIN
模型在基于 HIN
的三个 baseline
中非常有效。一个直观解释是:在我们的数据集中,大多数原始特征是用户属性或 item
属性,这些属性信息可能包含了有效信息来改善推荐性能。
我们的 HERec
方法始终优于 baseline
。和其它 HIN based
方法相比,HERec
采取了更有效的方式来利用 HIN
从而改进推荐系统。
HERec
在训练数据稀疏时的效果更为突出。如,在豆瓣图书数据集上使用 20%
的训练数据时,HERec
相对于 PMF
的提升高达 40%
。这些结果表明了所提出方法的有效性,尤其是在稀疏数据集中。
从 HERec
的两个变体 HERec-dw
和 HERec-mp
可以看到:
HERec-dw
的效果要差得多。HERec-dw
忽略数据的异质性,并将 HIN
视为同质网络。这表明异质信息的重要性。
HERec-mp
没有使用节点类型过滤,而是尝试使用异质序列将所有类型的节点都映射到相同的 embedding
空间中。相比较而言,HERec
进行节点过滤,从而将同质节点映射到相同的 embedding
空间。
虽然 metapath2vec
更为通用,但是我们的方法在推荐任务中表现更好。我们的重点是学习 user embedding
和 item embedding
,而其它类型的对象仅用作构建同质邻域的桥梁。基于结果(HERec
优于 HERec-mp
),我们认为执行 task-specific HIN embedding
有利于提高推荐性能。
不同融合函数:HERec
需要一种融合方法从而将节点的不同metapath
下的 embedding
转换为合适的形式。这里我们讨论不同融合方法的效果。
我们将线性融合函数的 HERec
变体称作 HERec-sl
,将个性化线性融合函数的HERec
变体称作 HERec-pl
, 将个性化非线性融合函数的 HERec
变体称作 HERec-pnl
。我们给出三个数据集上不同变体的性能比较,如下图所示。
总体而言,这些变体的性能为:HERec-pnl > HERec-pl > HERec-sl
。
这三个变体中,简单的线性融合函数表现最差,因为它忽略了个性化和非线性。事实上,用户确实可能对 metapath
有不同的偏好,因此应在 metapath based
方法中予以考虑。因此个性化融合函数显然可以提高性能。
HERec-pnl
相对于 HERec-pl
的提升相对不大。一个可能的原因是:个性化的组合参数提高了线性模型的容量。尽管如此,通过考虑个性化和非线性变换, HERec-pnl
仍然表现最好。
考虑到 HERec-pnl
效果最好,因此后续的实验都将采取 HERec-pnl
。
冷启动问题:HIN
有助于改善冷启动问题,因为虽然冷启动预测的评分记录较少,但是可以使用异质的上下文信息。我们以评分数量来衡量冷启动的严重程度。我们将测试集的用户根据他们的评分数量划分为三组:(0,5], (5,15], (15,30]
。可以看到,第一组的预测最为困难,因为他们的评分数量最少。
这里我们仅选择 HIN based baseline
方法,包括 SoMF,HeteMF,SemRec,DSR, FM-HIN
。我们报告了它们相对于 PMF
的提升比例。
总体而言,所有方法都优于 PMF
。
HERec
在所有 baseline
方法中表现最好,并且在冷启动问题最严重(评分最稀疏)的组别中提升更大。
结果表明:基于 HIN
的信息可以有效提高推荐性能,并且 HERec
利用 HIN
信息的效果更好。
不同 metapath
:为分析 metapath
数量对模型效果的影响,我们考虑不同的 metapath
依次添加到 HERec
中,并检查模型性能变化。
可以看到:
用户节点开始的metapath
和 item
节点开始的 metapath
都有助于提升性能。
通常而言,随着更多 metapath
的加入,性能通常会得到提高。但是,更多的metapath
并不总是能够提升性能,而是略有波动。原因是某些 metapath
可能包含噪音,或者与现有的 metapath
存在信息冲突。
仅仅加入了几个 metapath
,模型很快就实现了相对较好的性能。这证明了之前的发现:少量的高质量 metapath
就能带来较大性能改进。因此我们只需要选择少量的 metapath
就可以有效控制模型的复杂度。
参数敏感性:HERec
有几个关键的超参数。
首先,对于基于矩阵分解的方法而言,最重要的超参数是潜在因子的维度 5
从 5
增加到 50
,然后检查模型性能和
然后我们固定潜在因子数量 precitor
中的不同信息。对 (1,1)
附近。这表明 user HIN embedding
和 item HIM embedding
都很重要。
总体而言,模型性能随着 HERec
对这两个参数不是很敏感。
最后我们研究性能随迭代次数的变化。可以看到 HERec
的收敛速度较快:对于稠密数据集(如豆瓣电影和豆瓣读书) 大约需要 40
到 60
次迭代;对于稀疏数据集(如 Yelp
),大约需要 20
次迭代。